const arr = [
	{
		id: 0,
		name: "HDMI",
		type: "vi",
		enable: true,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: true,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 0,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: true,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9001,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3000,
			},
			push: {
				format: "auto",
				enable: true,
				hevc_id: 12,
				path: "rtmp://192.168.1.123:1935/live/link_hdmi",
			},
			suffix: "stream0",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: false,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9101,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3000,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub0",
			},
			suffix: "sub0",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream0",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		interface: "HDMI",
		cap: {
			deinterlace: false,
			rotate: 0,
			ntsc: false,
			crop: {
				L: 0,
				T: 0,
				R: 0,
				B: 0,
			},
		},
	},
	{
		id: 1,
		name: "SDI",
		type: "vi",
		enable: true,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: true,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 1,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: true,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9002,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3001,
			},
			push: {
				format: "auto",
				enable: true,
				hevc_id: 12,
				path: "rtmp://192.168.1.123:1935/live/link_sdi",
			},
			suffix: "stream1",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: false,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9102,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3001,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub1",
			},
			suffix: "sub1",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream1",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		interface: "SDI",
		cap: {
			deinterlace: false,
			rotate: 0,
			ntsc: false,
			crop: {
				L: 0,
				T: 0,
				R: 0,
				B: 0,
			},
		},
	},
	{
		id: 2,
		name: "USBCam",
		type: "usb",
		enable: true,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: true,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 2,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: true,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9003,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3002,
			},
			push: {
				format: "auto",
				enable: true,
				hevc_id: 12,
				path: "rtmp://192.168.1.123:1935/live/link_cam",
			},
			suffix: "stream2",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: false,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9103,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3002,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub2",
			},
			suffix: "sub2",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream2",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		alsa: "hw:0,0",
		lnk: "1-1",
		channels: -1,
	},
	{
		id: 3,
		name: "Net1",
		type: "net",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 3,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9004,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3003,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main3",
			},
			suffix: "stream3",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9104,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3003,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub3",
			},
			suffix: "sub3",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream3",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		net: {
			bufferMode: 1,
			protocol: "tcp",
			framerate: -1,
			path: "rtsp://admin:admin@192.168.1.64",
			decodeV: false,
			decode: false,
			minDelay: 500,
		},
		cap: {
			rotate: 0,
			crop: {
				B: 0,
				L: 0,
				R: 0,
				T: 0,
			},
		},
	},
	{
		id: 4,
		name: "Net2",
		type: "net",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 4,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9005,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3004,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main4",
			},
			suffix: "stream4",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9105,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3004,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub4",
			},
			suffix: "sub4",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream4",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		net: {
			bufferMode: 1,
			protocol: "tcp",
			framerate: -1,
			path: "rtsp://admin:admin@192.168.1.64",
			decodeV: false,
			decode: false,
			minDelay: 500,
		},
		cap: {
			rotate: 0,
			crop: {
				B: 0,
				L: 0,
				R: 0,
				T: 0,
			},
		},
	},
	{
		id: 5,
		name: "Net3",
		type: "net",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 5,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9006,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3005,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main5",
			},
			suffix: "stream5",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9106,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3005,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub5",
			},
			suffix: "sub5",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream5",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		net: {
			bufferMode: 1,
			protocol: "tcp",
			framerate: -1,
			path: "rtsp://admin:admin@192.168.1.64",
			decodeV: false,
			decode: false,
			minDelay: 500,
		},
		cap: {
			rotate: 0,
			crop: {
				B: 0,
				L: 0,
				R: 0,
				T: 0,
			},
		},
	},
	{
		id: 6,
		name: "Net4",
		type: "net",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 6,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9007,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3006,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main6",
			},
			suffix: "stream6",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9107,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3006,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub6",
			},
			suffix: "sub6",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream6",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		net: {
			bufferMode: 1,
			protocol: "tcp",
			framerate: -1,
			path: "rtsp://admin:admin@192.168.1.64",
			decodeV: false,
			decode: false,
			minDelay: 500,
		},
		cap: {
			rotate: 0,
			crop: {
				B: 0,
				L: 0,
				R: 0,
				T: 0,
			},
		},
	},
	{
		id: 7,
		name: "NDI Recv",
		type: "ndi",
		enable: false,
		enable2: false,
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9008,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3007,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main7",
			},
			suffix: "stream7",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9108,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3007,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub7",
			},
			suffix: "sub7",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream7",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		ndirecv: {
			name: "",
		},
	},
	{
		id: 8,
		name: "Carousel",
		type: "file",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 8,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9009,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3008,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main8",
			},
			suffix: "stream8",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9109,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3008,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub8",
			},
			suffix: "sub8",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream8",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		decodeV: false,
		decodeA: false,
		file: [],
	},
	{
		id: 9,
		name: "ColorKey",
		type: "colorKey",
		enable: false,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: false,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 9,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9010,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3009,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_main9",
			},
			suffix: "stream9",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9110,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3009,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub9",
			},
			suffix: "sub9",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream9",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		colorKey: {
			point: [
				{
					x: 0.2,
					y: 0.2,
				},
				{
					x: 0.8,
					y: 0.2,
				},
				{
					x: 0.2,
					y: 0.8,
				},
				{
					x: 0.8,
					y: 0.8,
				},
			],
			autoUpdate: false,
			tolerance: 20,
			srcA: 0,
			srcB: {
				type: "img",
				path: "/link/res/background.jpg",
				id: 2,
			},
		},
	},
	{
		id: 10,
		name: "Mix",
		type: "mix",
		enable: true,
		enable2: false,
		encv: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: "3800",
			rcmode: "avbr",
			lowLatency: true,
			gop: 2,
			codec: "h264",
			profile: "base",
			gopmode: "1",
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		encv2: {
			width: "1920",
			height: "1080",
			framerate: 30,
			bitrate: 1000,
			rcmode: "cbr",
			lowLatency: false,
			gop: 1,
			codec: "h264",
			profile: "base",
			gopmode: 0,
			minqp: 22,
			maxqp: 36,
			Iqp: 25,
			Pqp: 25,
		},
		enca: {
			audioSrc: 10,
			gain: 0,
			codec: "close",
			samplerate: 48000,
			bitrate: 128,
			channels: 2,
		},
		stream: {
			http: false,
			hls: false,
			rtmp: true,
			rtsp: {
				enable: true,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9011,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.2.1",
				port: 3010,
			},
			push: {
				format: "auto",
				enable: true,
				hevc_id: 12,
				path: "rtmp://192.168.1.123:1935/live/link_all",
			},
			suffix: "stream10",
		},
		stream2: {
			http: false,
			hls: false,
			rtmp: false,
			rtsp: {
				enable: false,
				name: "admin",
				passwd: "admin",
				auth: false,
			},
			srt: {
				enable: false,
				mode: "listener",
				ip: "127.0.0.1",
				port: 9111,
				latency: 50,
				passwd: "",
			},
			udp: {
				rtp: false,
				ttl: 5,
				flowCtrl: true,
				bandwidth: 100,
				enable: false,
				ip: "233.233.3.1",
				port: 3010,
			},
			push: {
				format: "auto",
				enable: false,
				hevc_id: 12,
				path: "rtmp://127.0.0.1/live/test_sub10",
			},
			suffix: "sub10",
		},
		hls: {
			hls_time: 5,
			hls_list_size: 5,
			hls_base_url: "/hls/",
			hls_filename: "-%06d.ts",
		},
		ndi: {
			name: "stream10",
			group: "",
			enable: false,
		},
		ts: {
			tsSize: 1316,
			mpegts_service_id: 1,
			mpegts_original_network_id: 1,
			mpegts_transport_stream_id: 1,
			mpegts_pmt_start_pid: 4096,
			mpegts_start_pid: 100,
		},
		output: {
			enable: true,
			vid: 0,
			ui: false,
			lowLatency: true,
			output: "1080P50",
			type: "hdmi",
			rotate: "0",
			src: "10",
			csc: {
				matrix: "identity",
				contrast: "50",
				hue: "50",
				luma: "50",
				saturation: "50",
			},
		},
		output2: {
			enable: false,
			vid: 1,
			ui: false,
			lowLatency: true,
			output: "1080P50",
			type: "vga|bt1120",
			swapYC: true,
			chip: "gs2972",
			rotate: 0,
			src: "1",
			csc: {
				matrix: "identity",
				contrast: "50",
				hue: "50",
				luma: "50",
				saturation: "50",
			},
		},
		srcV: ["0", "1", "2"],
		srcA: [],
		layout: [
			{
				a: 1,
				x: 0,
				y: 0.16669998551057638,
				w: 0.6667,
				h: 0.6667,
				index: 1,
			},
			{
				a: 1,
				x: 0.6667000000000001,
				y: 0.16669998551057638,
				w: 0.3333,
				h: 0.3333,
				index: 2,
			},
			{
				a: 1,
				x: 0.6667000000000001,
				y: 0.5,
				w: 0.3333,
				h: 0.3333,
				index: 3,
			},
		],
	},
];
export default arr